bd0b289f8c0f4630e4a1dbe8b07f85f291674e81,Alkitab/src/main/java/yuku/alkitab/base/ac/VersionsActivity.java,VersionsActivity,openUrlInputDialog,#,597
Before Change
void openUrlInputDialog() {
new MaterialDialog.Builder(this)
.customView(R.layout.dialog_version_add_from_url, false)
.positiveText(R.string.ok)
.callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(final MaterialDialog dialog) {
final EditText tUrl = V.get(dialog.getCustomView(), R.id.tUrl);
After Change
void openUrlInputDialog() {
new MaterialDialog.Builder(this)
.customView(R.layout.dialog_version_add_from_url, false)
.positiveText(R.string.ok)
.onPositive((dialog, which) -> {
final EditText tUrl = V.get(dialog.getCustomView(), R.id.tUrl);
final String url = tUrl.getText().toString().trim();
if (url.length() == 0) {
return;
}
final Uri uri = Uri.parse(url);
final String scheme = uri.getScheme();
if (!U.equals(scheme, "http") && !U.equals(scheme, "https")) {
new MaterialDialog.Builder(VersionsActivity.this)
.content(R.string.version_download_invalid_url)
.positiveText(R.string.ok)
.show();
return;
}
// guess destination filename
String last = uri.getLastPathSegment();
if (TextUtils.isEmpty(last) || !last.toLowerCase(Locale.US).endsWith(".yes")) {
new MaterialDialog.Builder(VersionsActivity.this)
.content(R.string.version_download_not_yes)
.positiveText(R.string.ok)
.show();
return;
}
{
final String downloadKey = "version:url:" + url;
final int status = DownloadMapper.instance.getStatus(downloadKey);
if (status == DownloadManager.STATUS_PENDING || status == DownloadManager.STATUS_RUNNING) {
// it's downloading!
return;
}
final DownloadManager.Request req = new DownloadManager.Request(Uri.parse(url))
.setTitle(last)
.setVisibleInDownloadsUi(false)
.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE);
final Map<String, String> attrs = new LinkedHashMap<>();
attrs.put("download_type", "url");
attrs.put("filename_last_segment", last);
DownloadMapper.instance.enqueue(downloadKey, req, attrs);
}
})
.show();
}
@Override